package expressions;

/**
 * A special context which allows for recursive expressions.
 * 
 */
public interface IRecursiveContext<T> extends IContext<T>
{
    /**
     * Sets varName to the given value.
     */
    public void setValue(String varName, T value);

    /**
     * Clears the last assignment of varName, reverting to any previous
     * assignment.
     */
    public void clearValue(String varName);
}
